package org.dubnation.base.util.encryption;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {

    /**
     * 加密
     * @param context
     */
    public static String encryptionByMd5(String context) {
        try {  
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(context.getBytes());//update处理  
            byte [] encryptionContext = md.digest();//调用该方法完成计算
  
            int i;  
            StringBuffer buf = new StringBuffer("");  
            for (int offset = 0; offset < encryptionContext.length; offset++) {//做相应的转化（十六进制）
                i = encryptionContext[offset];
                if (i < 0) i += 256;  
                if (i < 16) buf.append("0");  
                buf.append(Integer.toHexString(i));  
           }  
            return buf.toString();
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block  
            e.printStackTrace();
            return  null;
        }  
    }

    public static void main(String[] args) {
//        //1.普通加密
//        System.out.println(encryptionByMd5("123456"));
//        //2.加盐、迭代
//        String str = encryptionByMd5("kisc1130" + "123456");
//        for (int i = 0; i <5; i++) {
//            str = encryptionByMd5(str);  //将加盐后的加密之后再循环多次加密
//        }
//        System.out.println(str);

        System.out.println(MD5Utils.encryptionByMd5("kisc1130" + "a0ee7e13-4b62-4851-85a0-c08ed7e6cb33" + "123456"));
    }
}